// var mongodb = require('./db');

function Post(name, post){
  this.name = name;
  this.post = post;
}

module.exports = Post;

Post.prototype.save = function(callback, mongodb) {
  var date = new Date();
  //存储各种时间格式，方便以后扩展
  var time = {
      date: date,
      year : date.getFullYear(),
      month : date.getFullYear() + "-" + (date.getMonth() + 1),
      day : date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(),
      minute : date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " +
      date.getHours() + ":" + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes())
  }
  //要存入数据库的文档
  var post = {
      name: this.name,
      time: time,
      post: this.post
  };
  // 打开数据库
  // mongodb.open(function (err, db) {
  //   if (err) {
  //     return callback(err);
  //   }
  //   //读取 posts 集合
  //   db.collection('posts', function (err, collection) {
  //     if (err) {
  //       mongodb.close();
  //       return callback(err);
  //     }
  //     //将文档插入 posts 集合
  //     collection.insert(post, {
  //       safe: true
  //     }, function (err) {
  //       mongodb.close();
  //       if (err) {
  //         return callback(err);//失败！返回 err
  //       }
  //       callback(null);//返回 err 为 null
  //     });
  //   });
  // });
  mongodb.collection('posts', function (err, collection) {
    if (err) {
      mongodb.close();
      return callback(err);
    }
    //将文档插入 posts 集合
    collection.insert(post, {
      safe: true
    }, function (err) {
      // mongodb.close();
      if (err) {
        return callback(err);//失败！返回 err
      }
      callback(null);//返回 err 为 null
    });
  });

};


//读取文章及其相关信息
Post.get = function(mongodb, name, callback) {
  //打开数据库

  // mongodb.open(function (err, db) {
  //   if (err) {
  //     return callback(err);
  //   }
  //   //读取 posts 集合
  //   db.collection('posts', function(err, collection) {
  //     if (err) {
  //       mongodb.close();
  //       return callback(err);
  //     }
  //     var query = {};
  //     if (name) {
  //       query.name = name;
  //     }
  //     //根据 query 对象查询文章
  //     collection.find(query).sort({
  //       time: -1
  //     }).toArray(function (err, docs) {
  //       mongodb.close();
  //       if (err) {
  //         return callback(err);//失败！返回 err
  //       }
  //       callback(null, docs);//成功！以数组形式返回查询的结果
  //     });
  //   });
  // });
  mongodb.collection('posts', function(err, collection) {
    if (err) {
      mongodb.close();
      return callback(err);
    }
    var query = {};
    if (name) {
      query.name = name;
    }
    //根据 query 对象查询文章
    collection.find(query).sort({
      time: -1
    }).toArray(function (err, docs) {
      // mongodb.close();
      if (err) {
        return callback(err);//失败！返回 err
      }
      callback(null, docs);//成功！以数组形式返回查询的结果
    });
  });
};
